package indi.jp.project.process.dao;

import indi.jp.project.center.entity.Task;
import indi.jp.project.process.entity.FlowTask;
import indi.jp.project.process.entity.FlowTaskHistory;
import indi.jp.project.process.entity.FlowTaskInfo;
import indi.jp.project.process.entity.FlowTaskParam;
import org.apache.ibatis.annotations.Mapper;

import java.sql.SQLException;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

/**
 * 任务流程
 *
 * @author jiangping
 * @date 2022/5/5
 */
@Mapper
public interface FlowTaskDAO {

    LinkedList<FlowTask> queryTaskFlow(String taskId) throws SQLException;

    void deleteTaskFlow(String taskId) throws SQLException;

    void saveTaskFlow(List<FlowTask> list) throws SQLException;

    int updateTaskFlow(FlowTaskParam flowTaskParam) throws SQLException;

    int saveOperationHistory(FlowTaskHistory flowTaskHistory) throws SQLException;

    FlowTaskInfo queryTaskInfo(String tableName, String taskId) throws SQLException;

    List<FlowTaskHistory> queryTaskFlowHistory(String taskId) throws SQLException;

    void deleteFlowHistoryByTaskId(String taskId) throws SQLException;

}
